package com.strival.bal.api;

import com.strival.bal.dto.UserBaseInfo;
import com.strival.bal.exception.BizException;

/**
 * Author:zhangyu
 */
public interface UserService {

    /**
     * 用户账户验证
     *
     * @param username 用户名
     * @param password 密码
     *
     * @return 验证用户成功后，账户基本信息
     *
     * @exception BizException errorCode包括ERROR_CODE_USER_NOT_FOUND 、ERROR_CODE_PASSWORD_ERROR
     * */
    UserBaseInfo validate(String username,String password) throws BizException;

    /**
     * @param userId 用户ID
     * @param oldPassword 旧密码
     * @param newPassword 新密码
     *
     * @exception BizException errorCode包括ERROR_CODE_USER_NOT_FOUND 、ERROR_CODE_PASSWORD_ERROR
     *
     * */
    void updatePassword(long userId,String oldPassword,String newPassword) throws BizException;

    /**
     * 添加新用户
     *
     *
     * */
    UserBaseInfo addUser(String username,String password) throws BizException;
}
